Quality of service is an aspect of media distribution in networks. For example, a streaming television program may be transmitted from a sender to a receiver using a quality level that corresponds to at least one of a network capacity and a receiver capacity. Alternatively, radio programs, or pre-stored audio, video or audio-visual media files may be streamed.
A network capacity comprises in this regard a capability of an end-to-end connection between the sender and the receiver. In this regard, the end-to-end connection may traverse more than one physical network to convey information between the sender and the receiver. Network capacity may be limited by a single slow link that is comprised in the end-to-end connection, for example where the receiver is a mobile phone, the air interface may have a lower capacity than backbone networks that the end-to-end connection traverses.
Receiver capacity may relate to an ability of a receiver to render the media content. In case processing power at the receiver end is limited, it may be that the receiving unit may not be able to decode a very high quality rendering of the media content and so transmitting at a lower quality level may be more useful.
Data, such as media content, may be conveyed in a network in encoded form. Such encoding may comprise, for example, audio coding or video coding. Examples of audio coding codecs include advanced audio coding, AAC, Nero AAC and advanced multi-band excitation, AMBE. Examples of video coding codecs include moving picture experts group 4, MPEG-4 and windows media video, WMV. Codecs also exist to code still images, such as joint photographic experts group, JPEG, codecs.
A user device seeking a video call, for example, from a network may request the call in connection with codec negotiation. Codec negotiation may comprise the user device indicating which codecs and/or codec versions it supports, and the network selecting from the indicated codecs one it is willing to use to provide the media content. Subsequent to codec selection, a bitrate used in a connection may be set to a constant value, or the bitrate may be adapted opportunistically based on variation of end-to-end capacity.